Clear["Global`*"];
FullSimplify@Solve[G == mp vp + mv vp + ρ Sl vcrel (zng-zp),vp][[1,1]]
(*približno, ker sicer bi blo treba še razpakirat vng*)

VHODNI PODATKI

Clear["Global`*"];

Hp=.105;     (*višina posode*)
R[z_]:=(      (*tanke okrogle posode*)
If[z<Hp,
((2.78+(z/Hp)(2.95-2.78))/2)/100,
((2.78+((z-.8Hp)/Hp)(2.95-2.78))/2)/100
]
);




(*Ostal Podatki v vsaki vrstici: Nl  Rl  mp  β  T*)
ImeOP="c:\\Users\\gal\\Documents\\DRUGI PROGRAMI\\Wolfram Mathematica\\saška ura\\data iz posnetkov\\Podatki Za 1D Simulacijo  Nl  Rl  mp  β  T.h5";
MapaH5="c:\\Users\\gal\\Documents\\DRUGI PROGRAMI\\Wolfram Mathematica\\saška ura\\data iz posnetkov\\";
OP=Import[ImeOP,{"Data",1}];

ρ=1000;
g=9.81;
mp0=25/1000; (*posodice brez magnetkov*)
ρk=7500; (*magnetkov, uteži (podobna)*)

fps=240;
dt=1.0/240/10;
zga=0;  (*gladine akvarija*)
NVrezin=100;(*na tok koščkov razrežemo za računanje začetnih prostornin*)








ImenaTNjim=FileNames[{"*TNjim.h5"},MapaH5,{2}];
TNjimji=Import[#,{"Data",1}]&/@ImenaTNjim;
TNjimji=TNjimji[[;;,;;,2]];
Nposn=Length@TNjimji; (*število posnetkov*)

RAČUNI S PODATKI IN SIMULACIJA

Vfakt=(1+((2π  R[.8Hp/2]*(1.1/1000))/(π ((R[.8Hp/2])^2)))) ;(*popravk za 1.1mm debele stene*)
(*
Nl: št. lukenj,
Rl: polmer lukne,
mp: masa posodice z magneti in utežmi,
β: koeficient iz nih enačbe,
T: čas posnetka
*)
ZpZngjiji=Table[
	{Nl,Rl,mp,β,T}=OP[[Iposn]];

	zng=0;  (*notranje gladine*)
	zp=-.109;  (*dna posodice z lukno*)
	vp=0;
	G=0;
	(*c1=.1;c2=0;*)
	
	
	ΔV=((mp-mp0)/(ρk));(*V magnetov, uteži, ...*)
	Vizp=ΔV+Vfakt If[zp<0,
		((-zp)/NVrezin)Total[π ((Table[R@z,{z,0,-zp,((-zp)/NVrezin)}])^2)],
		0
	];(*izngodrinjene vode*)
	mv=ρ If[zng<=0,
		((zng-zp)/NVrezin)Total[π ((Table[R@z,{z,0,zng-zp,((zng-zp)/NVrezin)}])^2)],
		0
	];(*vode v posodici*)
	
	
	ap=-g;
	Sl=Nl π (Rl^2);
	
	
	
	
	
	
	
		
	
	Transpose@Table[
		Rtng=R[zng-zp];(*notranje gladine*)
		Rtp=R[zga-zp]; (*zunej poseodice na stiku z gladino akvarija*)
		vpprej=vp;
		
		(*vc=(Sqrt[2(g (zga-zp)-(zng-zp)(g+ap))]);*)(*curka čez lukno???*)
		
		vc=(Sqrt[-2g zng]);
		vcrel=vc-vp;
		dmv=ρ Sl vcrel dt;
		(*Fu=-c1 vp -c2 Abs[vp] vp;*)
		Fu=-2β vp (mp+mv);
		Fvzg=ρ Vizp g;
		
		G+=(-(mp+mv)g+Fvzg+Fu)dt  +  dmv vc;  (*Fu dt*)
		
		vng=vp+vcrel Nl ((((Rl/Rtng)))^2);
		zng+=vng dt;
	
		
		
		vp=((G+Sl vcrel (-zng+zp) ρ)/(mp+mv));   (*-2β vp dt*1000;*)
		ap=((vp-vpprej)/dt);
		Vizp+=Vfakt π (Rtp^2) (-vp) dt;
		zp+=vp dt;
		mv+=dmv;

		{zp,zng},	
			
	{t,0,T,dt}],
{Iposn,Nposn}];

IZVOZ V h5, IZRIS GRAFOV

zngji=ZpZngjiji[[-1,2]];
zngjieksp=TNjimji[[-1]];
{zngji,zngjieksp}=((#-#[[1]])&/@{zngji,zngjieksp});





Table[
	zpjieksp=TNjimji[[Iposn]];
	zpji=ZpZngjiji[[Iposn,1]];
	{zpji,zpjieksp}=((#-#[[1]])&/@{zpji,zpjieksp});
	Export[
		StringDrop[ImenaTNjim[[Iposn]],-3]<>"SIM"<>".h5",
		zpji[[;;;;((1/dt)/fps)]]
	];
	ListPlot[{zpji[[;;;;((1/dt)/fps)]],zpjieksp},PlotRange->All],
{Iposn,Nposn-1}]





Export[
	StringDrop[ImenaTNjim[[-1]],-3]<>"SIM"<>".h5",
	zngji[[;;;;((1/dt)/fps)]]
];
ListPlot@{zngji[[;;;;((1/dt)/fps)]],zngjieksp}